import { defineStore } from 'pinia'
import { ref } from 'vue'

// 系统配置接口
export interface SystemConfig {
  siteName: string
  siteDescription: string
  siteKeywords: string
  siteLogo: string
  copyright: string
  version: string
  recordNumber: string // 备案号
}

// 系统统计接口
export interface SystemStats {
  userCount: number
  familyCount: number
  onlineUsers: number
  todayVisits: number
  totalVisits: number
}

export const useSystemStore = defineStore('system', () => {
  // 系统配置
  const config = ref<SystemConfig>({
    siteName: 'HomeCube 管理后台',
    siteDescription: '智能家居管理系统',
    siteKeywords: '智能家居,管理系统,HomeCube',
    siteLogo: '/logo.svg',
    copyright: '© 2024 HomeCube. All rights reserved.',
    version: '1.0.0',
    recordNumber: ''
  })

  // 系统统计
  const stats = ref<SystemStats>({
    userCount: 0,
    familyCount: 0,
    onlineUsers: 0,
    todayVisits: 0,
    totalVisits: 0
  })

  // 系统状态
  const loading = ref(false)

  // 获取系统配置
  const getSystemConfig = async () => {
    try {
      loading.value = true
      // TODO: 从后端API获取系统配置
      // const response = await api.getSystemConfig()
      // config.value = response.data
    } catch (error) {
      console.error('获取系统配置失败:', error)
    } finally {
      loading.value = false
    }
  }

  // 更新系统配置
  const updateSystemConfig = async (newConfig: Partial<SystemConfig>) => {
    try {
      loading.value = true
      // TODO: 调用后端API更新配置
      // await api.updateSystemConfig(newConfig)
      config.value = { ...config.value, ...newConfig }
    } catch (error) {
      console.error('更新系统配置失败:', error)
      throw error
    } finally {
      loading.value = false
    }
  }

  // 获取系统统计
  const getSystemStats = async () => {
    try {
      // TODO: 从后端API获取统计数据
      // const response = await api.getSystemStats()
      // stats.value = response.data
    } catch (error) {
      console.error('获取系统统计失败:', error)
    }
  }

  // 重置系统配置
  const resetConfig = () => {
    config.value = {
      siteName: 'HomeCube 管理后台',
      siteDescription: '智能家居管理系统',
      siteKeywords: '智能家居,管理系统,HomeCube',
      siteLogo: '/logo.svg',
      copyright: '© 2024 HomeCube. All rights reserved.',
      version: '1.0.0',
      recordNumber: ''
    }
  }

  return {
    // 状态
    config,
    stats,
    loading,
    // 方法
    getSystemConfig,
    updateSystemConfig,
    getSystemStats,
    resetConfig
  }
})